screenshot of FreeDOS 1.4

Welcome to FreeDOS

FreeDOS is an open source DOS-compatible operating system that you can use to play classic DOS games, run legacy business software, or write new DOS programs. Any program that works on MS-DOS should also run on FreeDOS.

Play classic games

Play DOS games on FreeDOS! We include lots of fun games in the distribution. Or play your favorite classic games, like Wolfenstein 3D, Doom, Commander Keen, Jill of the Jungle, Duke Nukem, and many others!

Run applications

Run your favorite DOS programs with FreeDOS. Just install your DOS application under FreeDOS like you would any other DOS application and you'll be good to go.

For developers

We include lots of open source compilers, assemblers, debuggers, and editors so you can create your own DOS programs. We also share our source code under an open source license, so you can modify FreeDOS itself.

What’s New

Calvin 2.4

Calvin is a very small and fast version of the vi editor for 16-bit DOS. Ben Collver has compiled Calvin 2.4 and made it available. From Ben's note: "There is really only one change in this release: the status message from ^G now prints the current column as well as the line. The only real reason for this release is to port the source code from Borland Turbo-C and A86 to the free Watcom compiler toolchain, which is shipped with FreeDOS." Get the new version from Archive.org

Experimental GCC toolchain

Developer tkchia has shared a GCC toolchain which produces code for the (partly deprecated) x86-32 IAMCU ABI. The ABI uses registers to pass parameters to functions, and was apparently intended for use with embedded devices running on Intel Quark processors. This is currently just the GCC compiler and binutils, but not a C library runtime, so it's more of an experiment. You can find it at tkchia's codeberg site.

Highlighting DOS in #DOScember

As part of the month of "DOScember" Jim celebrated FreeDOS by sharing several articles online. These are great starting points if you want to get into retrocomputing with FreeDOS! Check out this series of articles at All Things Open: - Why FreeDOS is a modern DOS - Turn off acceleration for the 'retrocomputing' experience - 26 essential FreeDOS commands, A to Z - Getting started with Edlin on FreeDOS - Tiny programming on FreeDOS with a kernel, shell, editor, and compiler.

You may also be interested in this weeklong "DOScember" article series at Both.org: - 4 cool facts about FreeDOS - FreeDOS Edit makes it easy - How to add and remove packages in FreeDOS - Old-school programming with BW BASIC - 2 ways to listen to music on FreeDOS - Automate tasks with BAT files - Edit text with this Emacs-like editor

jSH version 0.99

SuperIlu just published v0.99 of jSH, a JavaScript scripting environment for DOS. This is the 'little' text-mode brother to DOjS, released not long ago. New features in this version include: - fixed Screen object - fixed CGets() - added missing include - updated zip, mbedTLS and curl. You can find the new version at jSH on GitHub.

Zork I, II, and III go open source

Microsoft’s Open Source Programs Office (OSPO), Team Xbox, and Activision recently announced that the classic games Zork I, Zork II, and Zork III are now released as open source software, under the MIT License. If you don't know Zork, it was an extremely popular series of text-based adventure games, released by Infocom on a variety of platforms including personal computers. You used your imagination and typed commands to navigate and take actions, with clever puzzles and world-building. Zork's Z-Machine interpreter was also a platform to create other, similar text adventure games like Hitchhiker's Guide to the Galaxy. You can find Zork I, Zork II, and Zork III at the Historical Source archive on GitHub.

DOjS v1.14.0

SuperIlu has released a new version of DOjS, the javascript environment for DOS. Version 1.14.0 has several fixes and additions, but mostly for win32 users, with only a few updates for DOS users: * fixed error message for library loading in win32 * fixed SQLite3 database opening in win32 * return empty object from GetNetworkInterfaces() on win32 * fixed curl on win32 * updated zip to 0.3.5 * improved documentation * updates to libraries. Download the new release at DOjS 1.14.0 at GitHub.